#include "Spline.hpp"
#include "SplineTest.hpp"
#include "SplineConfig.h"
using namespace std;

inline int version_Log(int argc, char** argv){
    if (argc < 2) {
      // report version
      std::cout << argv[0] << " Version " << MAIN_VERSION_MAJOR << "." << MAIN_VERSION_MINOR << std::endl;
      std::cout << "Usage: " << argv[0] << " number" << std::endl;
      return 1;
    }
    return 1;
}

class T:public func{
public:
    double operator() (double x){
        return x*x*x;
    }
    double diff(double x){
        return 3*x*x; 
    }
};

int main(int argc, char** argv){
    version_Log(argc, argv);
    TaskA("../png/SplinesA");
    TaskC("../png/BSplines");
    TaskD();
    TaskE("../png/HeartPlot");
    TaskEOPT("../png/HeartPlot_OPT");
    TestLinear("../png/Linear_test");
    return 0;
}